Einfaches Tutorial
In diesem kleinen Tutorial werden wir eine Tabelle mit dem Namen "Personen" erstellen und mit dieser arbeiten.
Zunächst binden wir die PostgreSQL-Library mit der Präprozessor-Anweisung @INCLUDE ein.
Dieser kleine Code meldet den Benutzer "test" bei der Datenbank "postgres" an.
Bitte passen Sie die Benutzerdaten Ihren Gegebenheiten an.
In diesem Beispiel läuft die Datenbank lokal auf meinem Rechner und lauscht an Port 5432.
Sollte die Datenbank nicht auf Ihren Rechner laufen, sondern beispielsweise auf einem anderen Rechner im lokalen Netzwerk, müsse Sie "localhost" gegen dessen IP austauschen.
Dies gilt übrigens für alle weiteren Beispiele!
/**************************************************************** ** ** ** Name: Einfaches Tutorial ** ** Author: Michael Suther ** ** Date: 27.04.19 ** ** Interpreter: Hollywood 8.0 ** ** Function: A simple example ** ** ** ** ** ****************************************************************/ @INCLUDE "PostgreSQL_Lib.hws" Block Local Fail, ConnectionID Local Errorcode Local Host$ = "localhost" Local Port = 5432 Local Database$ = "postgres" Local Username$ = "test" Local Passwort$ = "test"
;registration Fail, ErrorCode, ConnectionID = PG:OpenDatabase(Host$, Port, Database$, Username$, Passwort$)
; Evaluating the Return values If Fail = False NPrint("") NPrint("Connection was successfully established.") NPrint("----------------------------------------") Else NPrint("") NPrint("The connection failed.") NPrint("") NPrint("Error code: ", ErrorCode) End EndIf |
Nachdem wir uns erfolgreich bei der Datenbank angemeldet haben erstellen wir unsere erste eigene Tabelle.
Tabelle Personen:
Vorname |
Typ: text |
Name |
Typ: text |
Alter |
Typ: int4 |
;The SQL query Local SQL$ = "CREATE TABLE Personen (Vorname text, Name text, Alter int4)"
;Create a new table Fail, Errorcode = PG:SimpleUpdate(SQL$, ConnectionID)
; Evaluating the Return values If Fail = False NPrint("") NPrint("Table was created.") NPrint("") NPrint("") Else NPrint("") NPrint("Create Table failed.") NPrint("") NPrint("Error code: ", ErrorCode) EndIf |
Nun wird es zeit die Tabelle mit Daten zu füllen.
Der folgende Code fügt der Tabelle drei Personen hinzu.
;Write data To the table Fail, Errorcode = PG:SimpleUpdate("INSERT INTO Personen VALUES ('Michael', 'Mustermann', 34)", ConnectionID) ;Evaluating the Return values If Fail = False NPrint("Database update successful - First person added.") NPrint("") Else NPrint("INSERT INTO people failed.") NPrint("Error code: ", ErrorCode) EndIf Fail, Errorcode = PG:SimpleUpdate("INSERT INTO Personen VALUES ('Thomas', 'Mustermann', 48)", ConnectionID) ;Evaluating the Return values If Fail = False NPrint("Database update successful - Second person added.") NPrint("") Else NPrint("INSERT INTO people failed.") NPrint("Error code: ", ErrorCode) EndIf Fail, Errorcode = PG:SimpleUpdate("INSERT INTO Personen VALUES ('Frank', 'Testmann', 27)", ConnectionID) ;Evaluating the Return values If Fail = False NPrint("Database update successful - Third person added.") NPrint("") NPrint("") Else NPrint("INSERT INTO people failed.") NPrint("Error code: ", ErrorCode) EndIf |
Die folgenden Code-Zeilen beinhalten eine einfache Suche in der Datenbank.
Wir lassen uns alle Personen anzeigen die 48 Jahre alt sind.
;Lists all persons 48 years old. Local SQL$ = "SELECT * FROM Personen WHERE Alter = 48" Fail, Errorcode, fields, Result = PG:SimpleQuery(SQL$, ConnectionID)
; Evaluating the Return values If Fail = False NPrint("Find entries with people who are 48 years old.") NPrint("") NPrint("Search result") NPrint("") items = TableItems(Result) For i = 0 To items-1 Step fields For a = 1 To fields Print(Result[i + a-1], " ") Next NPrint("") Next Else NPrint("Query failed.") NPrint("Error code: ", ErrorCode) EndIf |
Als letztes machen wir alles wieder Rückgängig und löschen die Tabelle.
Wenn Sie mit der Tabelle weiter arbeiten möchten, lassen Sie den letzten Schritt einfach aus.
Das gesamte Code-Beispiel finden Sie auch im Archive als Hollywood-Script.
;Delete the table Local SQL$ = "DROP TABLE Personen;" Fail, Errorcode = PG:SimpleUpdate(SQL$, ConnectionID)
; Evaluating the Return values If Fail = False NPrint("") NPrint("") NPrint("Table has been deleted") Else NPrint("DROP table failed.") NPrint("Error code: ", ErrorCode) EndIf
WaitLeftMouse
;Close connection To the database. PG:CloseDatabase(ConnectionID)
EndBlock |
Wenn Sie alles richtig gemacht haben, sollte die Programmausgabe wie folgt aussehen (Windows10):

Mit dem Personal Edition von HelpNDoc erstellt: Gratis CHM-Hilfedokumentationsgenerator